In systems, such as computing systems, one or more software programs or applications that are being executed on a server or host computing device can be shared with remote clients or remote computing devices. For example, at least some known computing devices include browsers that support various mechanisms for receiving a continuous stream of data, such as image data, from the server, wherein the image data is based on the application being executed within the server. In a virtual desktop infrastructure (VDI), a virtual desktop may be accessible by one or more remote clients through a network, and a server may be used to provide various image data from the virtual desktop to one or more remote clients. More specifically, each remote client may include a browser or a web client that supports various methods for receiving a continuous stream of image data from the server.
Using such concepts, at least two known methods are commonly used to share software programs or applications. One method includes a remote desktop, wherein a remote client uses an application that is being hosted on a server or computing device over the network. When using such a method, the remote client has access to the application from anywhere. However, the access is limited to just the one remote client and other clients do not have access to the application. Another method includes web conferencing, wherein a server or a host computing device shares the application over various networks to remote clients. The remote clients can view an image based on the application and have limited access to take control of the image and/or edit the image. However, in such a method, the user or owner of the application has more direct access to the application than the remote clients and, therefore, the user or owner of the application is enabled with better performance of the application.
Moreover, when multiple remote clients are connected to the server via different types of networks, access to the data for each of the clients can vary. For example, when remote clients are connected to the server via different networks, each network may function at a respectively different speed. As such, the rate at which each client receives the data from the server can vary based on the network that each client is using. In addition, when one client has a relatively slower network speed than the other clients, the data being transmitted to each of the clients can be delayed. For example, when a server is transmitting any image update(s) to the remote clients, the clients may not be able to receive the update(s) until each of the clients has had an opportunity to accept the updates. As a result, if one client has a slower acceptance rate due to a slow network, then the other clients will not be able to receive the update until the slowest client can accept the data. As such, a slow client can adversely impact the other clients.